package com.iris.live.services.data.models;

import javax.persistence.*;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * Created by DF on 2/14/2017
 */
@SuppressWarnings("JpaDataSourceORMInspection")
@Entity
@Table(name = "lsh消息", schema = "live", catalog = "")
public class Lsh消息Model {
    private Integer 消息编号;
    private String 发送许可;
    private String 发送人;
    private String 接收许可;
    private String 接收人;
    private String 消息分类;
    private String 消息内容;
    private String 消息附属Id;
    private String 附属Id类型;
    private String 消息备注;
    private Date 消息创建时间;
    private String 是否删除 = "否";
    private String 删除账号;
    private String 更新账号;
    private Timestamp 更新时间 = Timestamp.valueOf(LocalDateTime.now());
    private String 电话号码 = "";
    private Boolean read =false;
    private String additionalMessage; // 附件消息，多个之间用|隔开

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "消息编号")
    public Integer get消息编号() {
        return 消息编号;
    }

    public void set消息编号(Integer 消息编号) {
        this.消息编号 = 消息编号;
    }

    @Basic
    @Column(name = "发送许可")
    public String get发送许可() {
        return 发送许可;
    }

    public void set发送许可(String 发送许可) {
        this.发送许可 = 发送许可;
    }

    @Basic
    @Column(name = "发送人")
    public String get发送人() {
        return 发送人;
    }

    public void set发送人(String 发送人) {
        this.发送人 = 发送人;
    }

    @Basic
    @Column(name = "接收许可")
    public String get接收许可() {
        return 接收许可;
    }

    public void set接收许可(String 接收许可) {
        this.接收许可 = 接收许可;
    }

    @Basic
    @Column(name = "接收人")
    public String get接收人() {
        return 接收人;
    }

    public void set接收人(String 接收人) {
        this.接收人 = 接收人;
    }

    @Basic
    @Column(name = "消息分类")
    public String get消息分类() {
        return 消息分类;
    }

    public void set消息分类(String 消息分类) {
        this.消息分类 = 消息分类;
    }

    @Basic
    @Column(name = "消息内容")
    public String get消息内容() {
        return 消息内容;
    }

    public void set消息内容(String 消息内容) {
        this.消息内容 = 消息内容;
    }

    @Basic
    @Column(name = "消息附属ID")
    public String get消息附属Id() {
        return 消息附属Id;
    }

    public void set消息附属Id(String 消息附属Id) {
        this.消息附属Id = 消息附属Id;
    }

    @Basic
    @Column(name = "附属ID类型")
    public String get附属Id类型() {
        return 附属Id类型;
    }

    public void set附属Id类型(String 附属Id类型) {
        this.附属Id类型 = 附属Id类型;
    }

    @Basic
    @Column(name = "消息备注")
    public String get消息备注() {
        return 消息备注;
    }

    public void set消息备注(String 消息备注) {
        this.消息备注 = 消息备注;
    }

    @Basic
    @Column(name = "消息创建时间")
    public Date get消息创建时间() {
        return 消息创建时间;
    }

    public void set消息创建时间(Date 消息创建时间) {
        this.消息创建时间 = 消息创建时间;
    }

    @Basic
    @Column(name = "是否删除")
    public String get是否删除() {
        return 是否删除;
    }

    public void set是否删除(String 是否删除) {
        this.是否删除 = 是否删除;
    }

    @Basic
    @Column(name = "删除账号")
    public String get删除账号() {
        return 删除账号;
    }

    public void set删除账号(String 删除账号) {
        this.删除账号 = 删除账号;
    }

    @Basic
    @Column(name = "更新账号")
    public String get更新账号() {
        return 更新账号;
    }

    public void set更新账号(String 更新账号) {
        this.更新账号 = 更新账号;
    }

    @Basic
    @Column(name = "更新时间")
    public Timestamp get更新时间() {
        return 更新时间;
    }

    public void set更新时间(Timestamp 更新时间) {
        this.更新时间 = 更新时间;
    }

    @Basic
    @Column(name = "电话号码")
    public String get电话号码() {
        return 电话号码;
    }
    public void set电话号码(String 电话号码) {
        this.电话号码 = 电话号码;
    }

    @Basic
    @Column(name = "is_read")
    public Boolean getRead() {
        return read;
    }

    public void setRead(Boolean read) {
        this.read = read;
    }

    @Basic
    @Column(name = "additionalMessage")
    public String getAdditionalMessage() {
        return additionalMessage;
    }

    public void setAdditionalMessage(String additionalMessage) {
        this.additionalMessage = additionalMessage;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Lsh消息Model that = (Lsh消息Model) o;

        if (消息编号 != null ? !消息编号.equals(that.消息编号) : that.消息编号 != null) return false;
        if (发送许可 != null ? !发送许可.equals(that.发送许可) : that.发送许可 != null) return false;
        if (发送人 != null ? !发送人.equals(that.发送人) : that.发送人 != null) return false;
        if (接收许可 != null ? !接收许可.equals(that.接收许可) : that.接收许可 != null) return false;
        if (接收人 != null ? !接收人.equals(that.接收人) : that.接收人 != null) return false;
        if (消息分类 != null ? !消息分类.equals(that.消息分类) : that.消息分类 != null) return false;
        if (消息内容 != null ? !消息内容.equals(that.消息内容) : that.消息内容 != null) return false;
        if (消息附属Id != null ? !消息附属Id.equals(that.消息附属Id) : that.消息附属Id != null) return false;
        if (附属Id类型 != null ? !附属Id类型.equals(that.附属Id类型) : that.附属Id类型 != null) return false;
        if (消息备注 != null ? !消息备注.equals(that.消息备注) : that.消息备注 != null) return false;
        if (消息创建时间 != null ? !消息创建时间.equals(that.消息创建时间) : that.消息创建时间 != null) return false;
        if (是否删除 != null ? !是否删除.equals(that.是否删除) : that.是否删除 != null) return false;
        if (删除账号 != null ? !删除账号.equals(that.删除账号) : that.删除账号 != null) return false;
        if (更新账号 != null ? !更新账号.equals(that.更新账号) : that.更新账号 != null) return false;
        if (更新时间 != null ? !更新时间.equals(that.更新时间) : that.更新时间 != null) return false;
        if (电话号码 != null ? !电话号码.equals(that.电话号码) : that.电话号码 != null) return false;
        if (read != null ? !read.equals(that.read) : that.read != null) return false;
        if (additionalMessage != null ? !additionalMessage.equals(that.additionalMessage) : that.additionalMessage != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = 消息编号 != null ? 消息编号.hashCode() : 0;
        result = 31 * result + (发送许可 != null ? 发送许可.hashCode() : 0);
        result = 31 * result + (发送人 != null ? 发送人.hashCode() : 0);
        result = 31 * result + (接收许可 != null ? 接收许可.hashCode() : 0);
        result = 31 * result + (接收人 != null ? 接收人.hashCode() : 0);
        result = 31 * result + (消息分类 != null ? 消息分类.hashCode() : 0);
        result = 31 * result + (消息内容 != null ? 消息内容.hashCode() : 0);
        result = 31 * result + (消息附属Id != null ? 消息附属Id.hashCode() : 0);
        result = 31 * result + (附属Id类型 != null ? 附属Id类型.hashCode() : 0);
        result = 31 * result + (消息备注 != null ? 消息备注.hashCode() : 0);
        result = 31 * result + (消息创建时间 != null ? 消息创建时间.hashCode() : 0);
        result = 31 * result + (是否删除 != null ? 是否删除.hashCode() : 0);
        result = 31 * result + (删除账号 != null ? 删除账号.hashCode() : 0);
        result = 31 * result + (更新账号 != null ? 更新账号.hashCode() : 0);
        result = 31 * result + (更新时间 != null ? 更新时间.hashCode() : 0);
        result = 31 * result + (电话号码 != null ? 电话号码.hashCode() : 0);
        result = 31 * result + (read != null ? read.hashCode() : 0);
        result = 31 * result + (additionalMessage != null ? additionalMessage.hashCode() : 0);
        return result;
    }
}
